package ca.etsmtl.log120.tp3.tests;

import ca.etsmtl.log120.tp3.cartes.Carte;
import ca.etsmtl.log120.tp3.cartes.CouleurCarte;
import ca.etsmtl.log120.tp3.cartes.Denomination;
import ca.etsmtl.log120.tp3.mains.Main;
import ca.etsmtl.log120.tp3.rangs.UtilMain;
import junit.framework.TestCase;

public class ComparaisonMainTest extends TestCase{

	Main main1 = new Main();
	Main main2 = new Main();
	
	public ComparaisonMainTest(){
		
		main1.add(new Carte(Denomination.HUIT, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.HUIT, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.HUIT, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.DIX, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.QUATRE, CouleurCarte.CARREAU));
		
		main2.add(new Carte(Denomination.HUIT, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.HUIT, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.HUIT, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.DIX, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.QUATRE, CouleurCarte.CARREAU));
	}
	
	public void testMainEgales(){
		assertEquals(0, main1.compareTo(main2));
	}
	
	public void testKickers(){
		
		main1 = new Main();
		main1.add(new Carte(Denomination.AS, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.VALET, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.DAME, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.HUIT, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.TROIS, CouleurCarte.CARREAU));
		
		main2 = new Main();
		main2.add(new Carte(Denomination.AS, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.DAME, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.VALET, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.SEPT, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.TROIS, CouleurCarte.CARREAU));
		
		assertEquals(1, main1.compareTo(main2));
	}
	
	public void testQuintes(){
		
		main1 = new Main();
		main1.add(new Carte(Denomination.AS, CouleurCarte.PIQUE));
		main1.add(new Carte(Denomination.ROI, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.DAME, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.DIX, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.VALET, CouleurCarte.CARREAU));
		
		main2 = new Main();
		main2.add(new Carte(Denomination.DIX, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.DAME, CouleurCarte.TREFLE));
		main2.add(new Carte(Denomination.VALET, CouleurCarte.TREFLE));
		main2.add(new Carte(Denomination.ROI, CouleurCarte.TREFLE));
		main2.add(new Carte(Denomination.NEUF, CouleurCarte.TREFLE));
		
		assertEquals(1, main1.compareTo(main2));
	}
	
	public void testCarteSuperieure(){
		
		main1 = new Main();
		main1.add(new Carte(Denomination.AS, CouleurCarte.PIQUE));
		main1.add(new Carte(Denomination.QUATRE, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.CINQ, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.HUIT, CouleurCarte.CARREAU));
		main1.add(new Carte(Denomination.VALET, CouleurCarte.CARREAU));
		
		main2 = new Main();
		main2.add(new Carte(Denomination.ROI, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.QUATRE, CouleurCarte.TREFLE));
		main2.add(new Carte(Denomination.VALET, CouleurCarte.TREFLE));
		main2.add(new Carte(Denomination.SEPT, CouleurCarte.TREFLE));
		main2.add(new Carte(Denomination.NEUF, CouleurCarte.TREFLE));
		
		assertEquals(1, main1.compareTo(main2));
	}
}
